A) Field of the Invention
This invention relates to an audio data processing apparatus that encodes PCM audio data into MP3 audio data and an audio data streaming server that distributes streams of the audio data.
B) Description of the Related Art
Mpeg Audio Layer 3 (MP3) is likely to be used for a data format in a streaming distribution of audio data on a local area network (LAN) or the Internet. By using MP3 data, it is possible to achieve a sound quality almost similar to Pulse Code Modulated (PCM) audio data with about 1/11 of data size of the PCM audio data, i.e., a bit rate at 128 kbps. A server distributing the MP3 audio data (audio server) stores audio data encoded into the MP3 format and streams the stored MP3 audio data to a client device (a terminal device) upon a distribution request form the client device.
The MP3 data is not fixed to the 128 Kbps bit rate, but various bit rates such as 64 Kbps, etc. may be used for encoding the audio data. Also, Variable Bit Rate (VBR) encoding style wherein the bit rate is changed in one piece of music is in practical use. For example, in the VBR encoding style, the bit rate is lowered in a silent part of the music to save an amount of the data whereas the bit rate is raised in a complicated part of the music to improve reproducibility of musical tone. The VBR encoding style can improve the sound quality comparing to Constant Bit Rate (CBR) encoding style when the amounts of the data are the same.
In a case of encoding the PCM audio data into the MP3 audio data, it takes much time although a fast CPU is used when a high quality encoding is necessary. In the high quality MP3 encoding, an audio signal is divided into a multiplicity of frequency sub-bands, and a filtering process considering adjoining frames of the target frame is executed to the divided signals by Modified Discrete Cosine Transform (MDCT) in order to reflect characters of a frequency distribution with high definition. Also, a bit storage method us used for assigning larger amount of the data to an important part of the audio data, wherein main data is made larger or smaller than a frame size.
There is a request to make the MP3 encoding much faster, and a parallel processing of a plurality of processors by dividing the audio data is considered to make the faster MP3 encoding possible. However, in the above-described conventional techniques, the filtering process is executed with considering adjoining frames of the target frame. Therefore, if the audio data is divided, existence or lack of the adjoining frame may affect the process of the frame near the dividing point. Moreover, when the bit storage is performed, the encoded data (main data) may be arranged in a data frame different from the original data frame and therefore, the decoded data may be discontinuous by a simple division and combining of the data.
The process for encoding the PCM audio data into the high quality MP3 data takes a bunch of times, and other process cannot be executed while the processor is occupied by the encoding process. Therefore, when a necessity of executing the other process may occur, it cannot be processed until the encoding process finishes. Further, in the conventional encoding techniques, when the music data (the PCM audio data) is encoded into the MP3 data, the music data for one song as a whole is an encoding target. Therefore, the time for one encoding process is very long, and the waiting time for-the process becomes very long.
Moreover, because the MP3 encoding process is executed with reference to the adjoining data, when the process is interrupted the encode process that has been already executed is abandoned, the whole process has to be executed again from the beginning. Therefore, the interruption by the other process make the encoding process wasted.
Further, although it is possible to execute the MP3 encoding process efficiently when the plurality of the processor are used, a technique wherein the different music data are processed by the different processor also cannot execute the other process until the MP3 encoding process of each processor finishes. Although the encoding time for one piece of the music becomes drastically short when the plurality of the processors are connected by a pipeline connection to execute a pipeline process, it is impossible to assign the interrupting process dynamically to a part of the processors because all of the processors are used for the MP3 encoding process.
When the music data is distributed via a communication network, especially via a wireless communication such as a wireless LAN, a condition of the communication network varies depending on a condition of radio wave transmission and congestion. Therefore, the bit rate possible to be used for the transmission varies. However, the conventional audio server just stores the MP3 data, and so the bit rate cannot be changed according to the network condition.
Especially, the network condition changes every moment while the audio data for one piece of music is distributed; however, the bit rate cannot be changed in correspondence with the change of the network condition during the distribution of the music data. Although there is MP3 data encoded in the VBR style wherein the bit rate changes during the music, the VBR style encoding changes the bit rate according to the condition of the musical tone but not in correspondence with the network condition.